System for programming robots or similar automatic apparatuses, comprising a portable programming terminal

ABSTRACT

A programming system for a robot comprises a portable programming terminal ( 6 ) having a series of jog keys ( 14 ) for controlling the motions of the robot, a key ( 18 ) for selecting one among a plurality of possible co-ordinate system for the jog keys ( 14 ) and a key ( 21 ) for storing the position reached by a predefined point of a tool supported by the robot, as a result of a motion thereof. The terminal ( 6 ) comprises additional control keys ( 40, 41 ), able to be operated manually instead of the jog keys ( 14 ), to cause, independently from the co-ordinate system selected with the selection key ( 18 ), a Cartesian and/or angular displacement of the predefined point of the tool relative to a reference point that may be varied at will, which corresponds to the position of the operator who uses the terminal ( 6 ).

[0001] The present invention relates to a programming system for a robot, or similar automatic apparatus, bearing a tool, the system comprising a control unit, operative to control movements of the robot according to multiple axes, and a portable programming terminal operatively connected to the control unit, where the terminal comprises

[0002] selection means, able to be operated manually by an operator to select a desired co-ordinate system among a plurality of co-ordinate systems stored in the control unit;

[0003] first motion control means, whose operation depends on a selection made through the selection means, the first motion control means comprising a plurality of motion keys able to be operated manually to provide the control unit with a respective control signal for the robot, said control signal being aimed at making the tool perform a rotation or translation motion about or along an axis corresponding to the motion push-button operated, in the co-ordinate system selected through the selection means,

[0004] position teaching means, able to be operated manually to store in the control unit the position reached by a predefined point of the tool as a result of a motion of the robot.

[0005] The activity of programming a robot essentially consists in manually teaching the robot the trajectory which one of its points shall have to repeat automatically in order to execute a certain application.

[0006] This point is constituted by the so-called “Tool Centre Point” (TCP), which identifies the position of the active part of the tool mounted on the wrist of the robot, i.e. the part of the tool that performs the operation, and that is defined by an operator in opportune fashion according to the application; in view of this, for instance in the case of an arc welding operation, the TCP is located on the tip of the welding torch at the end of the welding wire; in sealing applications, instead, the TCP is in correspondence with a nozzle for the outflow of the sealant, whilst for applications requiring an electrical spot welding gun the TCP corresponds to one of the two electrodes or to an intermediate point between them.

[0007] Most programming time is dedicated to commanding the robot manually, to identify the optimal points of the trajectory the TCP will have to follow, and to store their co-ordinates. For this purpose, a portable programming terminal is provided, known as the “teach pendant”, which is connected to the robot control unit and typically comprises a display and a series of push-buttons used for programming and manually commanding the motion of the robot; the programming terminal is usually connected to the control unit by means of a long wire that allows the operator to move in proximity to the work area of the robot, to be able accurately to verify the points and trajectories of the TCP.

[0008] To command the variations to the posture of the robot manually, the operator uses specific push-buttons of the programming terminal, known as “jog” push-buttons or keys, which command the actuation of one or more axes of the robot.

[0009] Acting on the jog push-buttons of the portable terminal, the TCP can be actuated in a specific positive or negative direction within a reference system selected by the operator among a plurality of possible reference systems; for instance, typically a reference system of the robot joints, known as “Joints”, is provided, where a vector in such a system represents the angular position of each of the joints; also provided are Cartesian reference systems, such as those usually known as “Base” and “Tool”, the former referred to the base of the robot and the second one to the tool positioned at the end of the robot.

[0010] In order to follow the TCP closely and visually checking its positioning, the operator continuously moves around the robot; the operator thereby clearly also moves relative to the origins of the aforesaid reference systems, which complicates, to a certain extent, the programming activity, also in consideration of the fact that the operator, on each occasion, has to select the reference system (s)he desires to use; note working points of the tool of the application to be successively stored, it is occasionally necessary to move multiple axes of the robot.

[0011] Use of prior art programming terminals is also generally awkward for the operator, due to the difficulty (s)he has in reaching some push-buttons with his/her fingers, unless (s)he continually changes the postures of his/her hands.

[0012] In some cases, use of prior art programming terminals is even tiresome, due to the presence of a safety push-button (known as dead man device), which must be kept pressed while actuating the robot by means of the jog push-buttons.

[0013] An aim of the present invention is to make the activity of programming a robot by an operator simpler and more immediate than in prior art systems.

[0014] Another aim of the invention is to obtain a portable programming terminal for robots having a particularly advantageous structure from the ergonomic point of view, in order further to facilitate the programming activity.

[0015] These and other aims, which shall become readily apparent hereafter, are achieved according to the invention by a programming system of the type indicated at the opening of the present description, characterised in that the portable terminal comprises additional motion control means, which can be operated manually instead of the first motion control means, to provide the control unit with a respective robot control signal, aimed at causing a displacement of the predefined point of the tool relative to a previously set reference point, where

[0016] the position of the reference point can be modified,

[0017] the terminal comprises means for modifying the position of the reference point, and

[0018] the control signal generated as a result of the operation of the additional motion control means is independent from the co-ordinate system selected with the selection means.

[0019] Advantageously, the predefined point of the tool can be represented by the TCP and the reference point can be represented by the position of the terminal, and hence of the user who supports it, relative to the robot.

[0020] The operator, who during the programming phase moves within the operative area of the robot, can change in simple and rapid fashion his/her own reference point, based on his/her own angular displacement relative to the robot, and does not need preventively to select a given reference system of the first motion control means, i.e. the jog push-buttons, and then use the latter to command the motion of the robot; the operator needs only to act on the additional motion control means to obtain the desired motion of the TCP relative to his/her observation point, after setting the reference point.

[0021] Additional aims, characteristics and advantages of the present invention shall become readily apparent from the description that follows and from the accompanying drawings, provided purely by way of explanatory and non limiting example, in which:

[0022]FIG. 1 is a schematic representation of a robot programming system according to the invention;

[0023]FIG. 2 is a view of the front part of a portable programming terminal comprised in the system according to the invention;

[0024]FIG. 3 is a view of the rear part of the terminal of FIG. 2;

[0025]FIG. 4 is an example of a display screen usable for inputting an operative parameter of the terminal of FIG. 2.

[0026] In FIG. 1, the reference number 1 designates a substantially known industrial robot, having a plurality of joints 2 and an end wrist 3 bearing a tool 4, which here is assumed to be a welding torch; as explained in the introductory part of the present description, the end of the tool 4 embodies the so-called “Tool Centre Point”, or TCP.

[0027] The robot 1 is connected, for example by means of an electrical cable, to a respective control unit 5; to the unit 5 is also connected a portable terminal 6, which is used by an operator 7 to program the robot 1.

[0028] The practical manners of constructing the hardware related to the unit 5 and to the terminal 6, preferably provided with respective microprocessor control system, are beyond the aims of the present description.

[0029] As explained previously, for programming purposes, the operator 7 “simulates” a working phase which the robot 1 shall later be called upon to executed in automatic, changing the posture of the robot by means of appropriate jog push-buttons provided on the terminal 6; through other push-buttons of the terminal 6, the operator 7 stores the co-ordinates of the optimal path identified for the TCP.

[0030] The system control logic provides for the jog push-buttons to command on each occasion translation function and rotation function of the axes of the robot 1 with reference to various possible reference systems (Joints, Base, Tool, etcetera) which the operator 7 has to select and select preventively on each occasion. This circumstance, as explained previously, makes the activity of programming with the terminal 6 hardly intuitive, also in consideration of the fact that the operator 7 continuously changes his/her operative position relative to the origins of the various reference systems that can be selected.

[0031] For this reason, according to an important aspect of the present invention, the terminal 6 is provided, in addition to the usual jog push-buttons, also of additional means for controlling the motion of the robot 1, means which are supported by a respective application programme residing in the control unit 5; said additional means, for instance in the form of push-buttons or of a joystick, are provided in order to control the displacement of the TCP in rapid, direct fashion, relative to a reference point which can advantageously correspond to the position of the operator 7, declared on each occasion to the control unit 5.

[0032]FIGS. 2 and 3 show a programming terminal 6, comprising the additional motion control means, having a constructive structure that is particularly advantageous from the ergonomic point of view.

[0033] From said figures it is possible first of all to note that the body of the terminal 6 comprises an upper portion 10, within which is located a display device D, and a lower portion 11, in which are positioned the push-buttons more frequently used for purposes of moving and programming the robot 1.

[0034] From said figures it is also readily apparent that the width of the lower portion 11 progressively decreases towards its area of junction to the upper part 10; said configuration of the body of the terminal 6 is extremely advantageous from an ergonomic point of view, because it allows the operator 7 to support the terminal itself with both hands, in correspondence with the two longitudinal sides of the portion 11, whilst allowing him/her to use the thumbs to press the more commonly used motion and storage push-buttons, as will be readily apparent below.

[0035] As in the prior art, the terminal 6 is provided with a safety device, usually known as “dead man” device, which must be kept active by the operator 7 in order to enable the operation of the motion push-buttons of the robot.

[0036] In a preferred embodiment of the invention, in the rear part of the body of the terminal 6 is centrally defined a longitudinally extended recess, designated as 12 in FIG. 3; from each of the longitudinal surfaces of the recess 12 projects, towards the interior of the recess itself, the button 13 of a respective push-button which is a part of the dead man device; as is readily apparent, the two buttons 13 are substantially in the shape of an elongated bar.

[0037] The recess 12 and the buttons 13 serve as a grip area for the ends of the fingers of the operator 7, but not the thumbs, when the operator supports the terminal 6 along one or both the inclined lateral surfaces of the portion 11; in this way, at least one of the two buttons 13 is necessarily pressed, in order to enable use of the robot motion push-buttons; vice versa, if neither of the two buttons 13 is pressed, the terminal 6 does not allow to command the actuation of the robot 1.

[0038] This arrangement is particularly convenient for the operator, since it allows him/her to alternate the hands in the operation of the dead man device and in any case to operate said device with a natural posture of the hands; vice versa, prior art programming terminals generally entail such a static posture as to tire the hands of the operator, who therefore attempts to change the grip point on the terminal, without being able to find a comfortable one, due to the need of having to keep the dead man device pressed.

[0039] The fact that the bars 13 are relatively long and extend substantially parallel to the two lateral surfaces of the portion 11 also allows the operator to move the grip point along the portion 11 of the body of the terminal 6, always assuring a comfortable operation of the dead man device.

[0040] Returning to FIG. 2, the terminal 6 comprises usual jog push-buttons, for delivering the co-ordinates for the actuation of the robot in positive or negative direction in a reference system selected by the operator among those provided (“Joints”, “Base”, “Tool”, etcetera), as explained above; the jog push-buttons are for this purpose of the dual pressure type, and thus each comprises a push-button 14 which must be pressed at a longitudinal end or at the other, to obtain respectively a movement in the positive direction or a movement in the negative direction.

[0041] In the preferred embodiment of the invention, the jog push-buttons 14 are positioned symmetrically on the front surface of the terminal 6, and in particular four at one side and four at the other; this arrangement, too, was selected for ergonomic reasons, because it favours a change in posture of the left hand and of the right hand of the operator 7 which would alternatively operate the push-buttons 13 of the dead man device present both to the left and to the right in the rear part of the terminal (see FIG. 3).

[0042] Preferably, moreover, on a same side (in the specific case of FIG. 2, the left side) are positioned the push-buttons 14 for controlling the translation functions and on the opposite side the push-buttons 14 for controlling the rotation functions; the purpose of this arrangement is to simplify finding the functions.

[0043] In the case exemplified herein the job push-button comprise in particular two symmetrical series of four push-buttons, each comprising three upper push-buttons 14, substantially parallel to each other, respectively for controlling the axes 1-3 and 4-6 of the robot, and a lower push-button 14, substantially perpendicular to the previous ones, respectively for controlling the axes 7 and 8 of the robot. To the lower jog push-buttons 14 may also be attributed, as a second function, control over the axes 9 and 10 of the robot, if the latter has them.

[0044] The reference number 15 designates the keys of two “Override” push-buttons, used one to increase and the other to reduce the velocity of translation of the robot. The two buttons 15 are preferably positioned in the central part of the portion 11, on the right, in proximity to controls called “Start”, “Hold” and “Coord” described hereafter.

[0045] The reference number 16 designates the key of a push-button called “Start”, positioned on the right side of the terminal, in the upper part of the portion 11, in order to be conveniently operated with the thumb of the right hand; the push-button 16 is provided to start the motion of the robot 1 to perform a sequence of motions set previously by means of the jog push-buttons 14.

[0046] The reference number 17 designates the key of a push-button called “Hold”, which allows to stop the motion of the robot 1; the key 17 is positioned in the immediate vicinity of the push-button “Start” 16 on the right side of the terminal 6.

[0047] The reference number 18 designates the key of a push-button called “Coord”, used to select the method for actuating the robot, i.e. the reference co-ordinate system (“Base”, “Tool”, “Joints”, etcetera) for the jog push-buttons, which is positioned in the vicinity of the push-buttons 14 towards the left side of the terminal 6.

[0048] The reference number 19 designates the key of a push-button called “Back”: when it is pressed, the robot 1 repeats in reverse one or more previously commanded motions; it is located in the vicinity of the push-button “Start” 16, at the right side of the terminal 6.

[0049] The reference number 26 designates the key of an actuation push-button called “Step”, used to make the robot 1 perform individual steps of a previously set sequence of motions; the key 26 too is located towards the right side of the terminal, so it can be pressed with the thumb of the right hand.

[0050] On the left side of the portion 11, in proximity to the area of union to the portion 10, are provided the push-buttons for programming the terminal 6. This positioning is provided to differentiate, from the spatial point of view, the programming push-buttons from the keys that are more closely linked with actuation, described above. In addition, the programming push-buttons require less operating precision that do actuation push-buttons and therefore can easily be selected with the left hand. In any case, it should be considered that the programming push-buttons are always used when the dead man device shown in FIG. 3 is not pressed and hence these push-buttons, too, can easily be operated with the thumb of the right hand, while supporting the terminal with the left hand.

[0051] The programming push-buttons comprise four cursor push-buttons, which in the case exemplified herein are covered by a single compass knob, designated as 20, and are used to navigate within a menu which can be displayed on the display D. The compass knob 20 is, as stated, on upper left side, on the outermost part of the terminal 6, in order to be easily reached with the thumb of the left hand.

[0052] Also for programming purposes are provided the keys of two push-buttons called “Rec” and “Mod”, respectively designated as 21 and 22; the keys 21 and 22 are respectively used to record and modify a previously set point of the trajectory imposed to the TCP; they are preferably positioned on the left side of the terminal 6, near the cursor push-buttons of the compass knob 20.

[0053] The reference number 23 globally designates an alphanumeric keypad, whose operating mode is similar to that of portable telephones, positioned centrally and low in the portion 11; the keypad 23, used to input letters and numbers during the programming operations, can also be reached at the two sides using the thumbs of the two hands.

[0054] The keys designated as 24 and 25, called “Enter” and “Esc” relate to push-buttons used, together with the cursor push-buttons in the compass knob 20, to navigate or select an option from the menu shown on the display D; said keys 24 and 25 are positioned in the portion 10, to the right of the display D and vertically offset with respect to each other (key 24 below and key 25 above).

[0055] The reference number 27 designate the keys of push-buttons called “Shift”, located at the sides of the display D in the portion 10 of the terminal 6; the keys 27 are used with continuous pressure simultaneously with other keys, such as the “Override” key 15, the compass knob 20, and the keys of the keypad 23.

[0056] The reference number 28 designates the key of a push-button called “Help”, whose pressure allows to obtain help information on the display D, in relation to a menu selection; the key 28 is located in the lower part of the display D, in central position.

[0057] The reference number 29 designates the keys of two cursor push-buttons located in proximity to the compass knob 20, used to scroll through the pages visible on the display D.

[0058] The reference numbers TF1, TF2 and TF3 designate three series of keys assigned to activate specific functions, provided on the portion 10; the first and second series of keys TF1, TF2 are each positioned along a respective lateral edges of the display D, whilst the third series of keys TF3 is positioned along the lower edge of the display D.

[0059] The reference number 30 indicates the keys of two push-buttons called “More”, located at the sides of the display D in the portion 10, which are used to activate additional functions attributed to the keys TF1 and TF2.

[0060] The reference numbers 31 and 32 respectively indicate a key selector and a mushroom head push-button, both located in the area at the upper end of the portion 10, the first to the left and the second to the right; the key selector 31 is used to activate or turn on the programming terminal 6, whilst the mushroom head push-button 32 is provided to be pressed by the operator in case of emergency, to stop the operation of the robot 1.

[0061] As mentioned previously, according to an important aspect of the invention the terminal 6 is equipped with a series of additional means for controlling the actuation of the robot 1, having the function of moving the TCP of the robot 1 in Cartesian fashion relative to a reference point chosen by the user 7. According to a possible embodiment of the invention, the following are provided for this purpose:

[0062] four push-buttons, covered by a single compass knob designated as 40, aimed at causing the movement of the TCP respectively towards, away, to the right or to the left relative to the position established by the operator 7,

[0063] a double-pressed push-button, aimed at causing an upward or downward motion of the TCP, depending on whether its key 41 is pressed at a longitudinal end or at the other.

[0064] The keys 40 and/or 41 can also be assigned the function of determining a rotation of the TCP of the robot 1 relative to a reference point selected by the user 7; from this standpoint, the aforesaid keys 40, 41 may therefore be assigned a dual functionality and the terminal 6 shall be for this purpose provided with means for switching the operating mode of the auxiliary keys 40, 41 from “translation” to “rotation”, and vice versa. In the latter operating mode, the four push-buttons of the compass knob 40 will for instance be aimed at causing the rotation of the TCP about a respective axis, respectively counter-clockwise and clockwise to the right, and in counter-clockwise and clockwise towards the position established by the operator 7; the push-button of the key 41 will be aimed at causing a rotation of the TCP about the respective axis counter-clockwise and clockwise upwards.

[0065] As FIG. 2 shows, both keys 40, 41 are positioned in the central area of the portion 11, between the two opposite series of jog push-buttons 14; the key 40 is preferably to the right of the key 41, so that the key 40 can be operated with the thumb of the right hand and the key 41 with the thumb of the left hand.

[0066] It should be stressed that, according to the invention, the auxiliary keys 40 and 41 are in addition of the TCP to reach the desired point may always be commanded by the operator 7 using the individual jog push-buttons 14, after selecting a given reference system with the “Coord” push-button 18.

[0067] The motion of the TCP determined by the keys 40, 41, instead, is in no way influenced by the current setting of the jog push-buttons 14 (“Base”, “Joints”, “Tool”, etcetera) and for the operator 7 it is sufficient to press one of such auxiliary keys 40, 41 to move the TCP in the desired direction.

[0068] As stated, the auxiliary keys 40, 41 can be operated by the operator 7 who grips the terminal 6 to allow the actuation of the TCP according to the three axes x, y, x, in space with respect to a variable reference point. Said reference point can advantageously be given by the position of the operator 7 who will thereby have the maximum sensitivity of the motion of the machine. Therefore, if the set reference point is the operator him/herself, and if the key 40 is pressed in correspondence with its rightward arrow, the TCP will be moved by the robot 1 to the right relative to the position of the operator 7; similar movements may be commanded to the left and to move the TCP closer or farther away from the operator 7 (respectively by pressing the key 40 in correspondence with its leftward, upward and downward arrows), or to raise or lower the TCP (pressing the key 41 respectively in correspondence with its upward arrow or in correspondence with its downward arrow).

[0069] If the “rotation” operating mode is set for the keys 40, 41 and the set reference point is the operator:

[0070] if the key 40 is pressed in correspondence with its right or left arrows, the TCP will be set in rotation respectively clockwise or counter-clockwise towards the position of the operator 7;

[0071] if the key 40 is pressed in correspondence with its up or down arrows, the TCP will be set in rotation respectively clockwise or counter-clockwise to the right;

[0072] if the key 41 is pressed in correspondence with its up or down arrows, the TCP will be set in rotation counter-clockwise or clockwise upwardly.

[0073] The definition of the initial reference point relative to which the actuation commanded by the auxiliary keys 40, 41 operates, is required from the operator 7, in order to allow the motions to be executed in the correct direction.

[0074] In a possible embodiment of the invention, the variable reference point is defined by the operator 7 by means of a page or screen which can be displayed on the display D of the terminal 6; from said page it will also be possible to switch the operating mode of the auxiliary keys 40, 41 from “translation” to “rotation”, and vice versa.

[0075]FIG. 4 schematically shows a possible display screen usable for this purpose. The screen essentially consists of a graphic representation in which a cursor, indicated as CO, representative of the operator or of the terminal, can be moved along a circular trajectory TC about the robot, represented in the screen by the symbol PR. The displacement of the cursor CO along the trajectory TC can, for instance, be commanded by means of the right/left cursor keys in the compass knob 20; when the cursor CO reaches the desired position, the operator 7 will press a confirmation key, for instance the “Enter” key 24.

[0076] Preferably, the default condition of the system, also visible in the graphic screen of FIG. 4, provides for the operator (and hence the cursor CO) in position of 0° relative to the base of the robot, i.e. in a position equivalent to that of the Cartesian jog mode with “Base” co-ordinates.

[0077] From the above it is readily apparent that, through the use of the auxiliary keys 40, 41 the operator 7 need not preventively select a given reference system of the jog push-buttons 14 and then use the latter to command the movement of the robot 1; the operator 7 need only act on the dedicated keys 40, 41 to obtain the desired movement of the TCP relative to its observation point, after setting the initial reference point. The operator 7, who during the programming phase moves inside the operating area of the robot 1, can change in simple and rapid fashion his/her reference, based on his/her own angular displacement relative to the reference axis of the robot base, using the graphic screen shown in FIG. 4.

[0078] In a particularly advantageous embodiment of the invention, moreover, a system for the automatic self-learning of the position of the operator 7 by the control unit can be provided.

[0079] For this purpose, for example, the terminal 6 can be provided with a signal transmitter means; said transmitter means, schematically designated as T in FIG. 1, is appropriately dimensioned to have a working range of a few metres, and hence to fall within the field of action of the terminal 6 relative to the robot 1.

[0080] On the base of the robot 1, distributed over all or part of its perimeter, are provided a plurality of receiver means, able to receive a signal emitted by the transmitter means T present on the terminal 6; the receiver means positioned on the base of the robot are designated as R in FIG. 1.

[0081] The logic of the control unit 5 provides for a codified procedure that allows to discriminate which receiver means R receives the signal from the transmitter means T; through this procedure, which lasts a few seconds, the system can automatically recognise the angular displacement of the operator 7, in order to allow the operator to use the auxiliary keys 40, 41 to move the TCP of the robot 1 referred to the position occupied at that time by the terminal 6, in the ways described above. The aforementioned procedure can advantageously be activated from the terminal 6, for instance through a single dedicated push-button, to change reference during the programming phase, based on the different positions the operator 7 assumes relative to the robot 1.

[0082] Clearly, numerous variations to the programming system described by way of example are possible for those skilled in the art, without thereby departing from the novelty scope inherent in the inventive idea.

[0083] For example, with reference to the embodiment of the invention provided with system for the automatic recognition of the position of the terminal 6 relative to the robot 1, on the terminal 6 may be positioned a receiver means R and on the basis of the robot 1 may be positioned a plurality of transmitter means T, i.e. with an inverted configuration relative to the one shown in FIG. 1. The means aimed at allowing the aforesaid automatic position recognition could also be obtained with any known technique, for instance in the form of emitters/receivers of the infrared, optical, laser type, etcetera; with particular reference to the case of infrared transmitter/receiver means, in particular, the possibility is noted in particular of exploiting for this purpose the data transmission components of the IRDA® port, normally provided on most portable terminals for programming robots.

[0084] The software equipping the terminal 6 and the control unit 5 for the purposes of executing the functions described above may naturally be obtained in various manners, with techniques known in themselves to those skilled in the art. 

1. Programming system for a robot, or similar automatic apparatus, bearing a tool (4), the system comprising a control unit (5), operative to control movements of the robot (1) according to multiple axes, and a portable programming terminal (6) operatively connected to the control unit (5), where the terminal (6) comprises selection means (18), able to be operated manually to select a desired co-ordinate system among a plurality of co-ordinate systems (“Base, “Tool”, “Joints”) stored in the control unit (5); first motion control means whose operation depends on a selection made through the selection means (18), the first motion control means comprising a plurality of motion keys (14) able to be operated manually to provide the control unit (5) with a respective command signal for the robot (1), the command signal being aimed at causing the tool (4) to execute a rotation or a translation motion about or along an axis corresponding to the operated motion key (14), in the co-ordinate system (“Base, “Tool”, “Joints”) selected using the selection means (18), position teaching means (21), able to be operated manually to store a position reached by a predefined point (TCP) of the tool (4) as a result of a motion of the robot (1), characterised in that the terminal (6) further comprises additional motion control means (40, 41), able to be operated manually instead of the first motion control means (14), to provide the control unit (5) with a respective signal for controlling the robot (1) aimed at causing a displacement of the predefined point (TCP) of the tool (4) relative to a previously set reference point (CO), where the position of the reference point (CO) is capable of being modified, the terminal (6) comprises means (D; T) for modifying the position of the reference point (CO), the signal for controlling the robot (1) generated as a result of the operation of the additional motion control means (40, 41) is independent from the co-ordinate system (“Base, “Tool”, “Joints”) selected through the selection means (18).
 2. System as claimed in claim 1, characterised in that the reference point (CO) is representative of the position of the terminal (6), and hence of a user (7) who supports it, relative to the robot (7).
 3. System as claimed in claim 1, characterised in that the additional motion control means (40, 41) are able to be operated to cause Cartesian displacements of the predefined point of the tools (TCP) relative to the set reference point (CO.
 4. System as claimed in claim 1, characterised in that the additional motion control means (40, 41) can be operated to cause angular or rotary displacements about a respective axis of the predefined point of the tools (TCP).
 5. System as claimed in claim 2, characterised in that the additional motion control means (40, 41) can be operated to cause a displacement of the predefined point of the tool (TCP) closer, farther away, to the right, to the left, upwards or downwards relative to the position of the terminal (6), and hence of the user who supports it (7).
 6. System as claimed in claim 5, characterised in that the additional motion control means (40, 41) comprise a compass knob (40) able to be selectively operated in four lateral areas thereof to cause, in one of its operating modes, a displacement of the predefined point of the tool (TCP) closer, farther away, to the right or the left relative to the position of the terminal (6).
 7. System as claimed in claim 5, characterised in that the additional motion control means (40, 41) comprise a dual pressure key (41), able to be operated selectively at its two end areas to cause, in an operating mode thereof, a displacement of the predefined point of the tool (TCP) upwards or downwards relative to the position of the terminal (6).
 8. System as claimed in claim 2, characterised in that the additional motion control means (40, 41) can be operated to cause a rotation of the predefined point of the tool (TCP) about a respective axis, counter-clockwise or clockwise to the right, counter-clockwise or clockwise towards the position of the terminal (6) and counter-clockwise or clockwise upwards.
 9. System as claimed in claim 6, characterised in that the compass knob (40) can be selectively operated in four lateral areas therefor to cause, in an additional operating mode, a displacement of the predefined point of the tool (TCP) about a respective axis, counter-clockwise and clockwise to the right and counter-clockwise and clockwise towards the position of the terminal (6).
 10. System as claimed in claim 7, characterised in that the dual pressure key (41) can be selectively operated at two end areas thereof to cause, in an additional operating mode, a rotation of the predefined point of the tool (TCP) about a respective axis, counter-clockwise or clockwise upwards.
 11. System as claimed in claim 1, characterised in that the terminal (6) comprises a display device (D) and in that the means (D; T) for modifying the position of the reference point (CO) comprises an information input page capable of being displayed on the display device (D).
 12. System as claimed in claim 1, characterised in that the means (D; T) for modifying the position of the reference point (CO) comprise at least a first key (20, 24) of the terminal (6).
 13. System as claimed in claim 12, characterised in that the means (D; T) for modifying the position of the reference point (CO) comprise a display device (D) of the terminal (6) and means for generating graphic information on the display device (D), the graphic information being representative of the position of the reference point (CO) relative to the robot (1).
 14. System as claimed in claim 13, characterised in that the means for generating graphic information comprise means for generating on the display (D) a first means for generating on the display (D) a second symbol (PR), representative of the robot (1); means for moving the first symbol (CO) relative to the second symbol (RR) using the first key (20), in particular along a substantially circular trajectory (TC).
 15. System as claimed in claim 2, characterised in that the means (D; T) for modifying the position of the reference point (CO) are part of a system (T, R) for the automatic recognition of the angular position of the terminal (6) relative to the robot (1).
 16. System as claimed in claim 15, characterised in that the automatic recognition system (T, R) comprises signal emitter means (T) and signal receiving means (R), the signal emitter means (T) being operatively associated to one between the terminal (6) and the robot (1) and the signal receiver means (T) being operatively associated to the other between the terminal (6) and the robot (1).
 17. System as claimed in claim 1, characterised in that the terminal (6) comprises a longitudinally extended body defining a first portion (10) and a second portion (11) having an area of union to the first portion (10), the width of the second portion (11) being progressively decreasing until reaching the union area.
 18. System as claimed in claim 17, characterised in that in correspondence with a front side of the first portion (10) is provided a display device (D) and in correspondence with a front side of the second portion (11) is provided a multiplicity of keys.
 19. System as claimed in claim 18, characterised in that the additional motion control means (40, 41) are positioned in a central part of the second portion (11).
 20. System as claimed in claim 18, characterised in that the first motion control means comprise a first series of motion keys (14) and a second series of motion keys (14), the two series being positioned in substantially symmetrical fashion, each along a respective longitudinal side of the second portion (11).
 21. System as claimed in claim 20, characterised in that the first series consists of keys for controlling translation movements and the second series consists of keys for controlling rotation movements.
 22. System as claimed in claim 20, characterised in that the additional motion control means (40, 41) are positioned between the first and the second series of motion keys (14).
 23. System as claimed in claim 1, characterised in that the terminal (6) comprises a safety device of the “dead man” type (13).
 24. System as claimed in claim 23, characterised in that the terminal (6) comprises a body in whose rear part is defined a longitudinally extended recess (12), from each of the two opposite longitudinal sides of the recess (12) projecting towards the interior of the recess an elongated button (13), each elongated button (13) being part of the safety device.
 25. System as claimed in claim 18, characterised in that said multiplicity of keys comprises one or more keys selected in the group consisting of: at least a key (15) for varying the translation velocity of the robot (1), positioned substantially in the right part of the second portion (11), towards the centre thereof; a key (16) for starting a sequence of motions of the robot (1), positioned in the right part of the second portion (11), towards the centre thereof; a key (17) for stopping a motion of the robot (1), positioned in the right part of the second portion (11), towards the centre thereof; a key (18) for selecting a desired co-ordinate system among a plurality of co-ordinate systems, positioned in the left part of the second portion (11), towards the centre thereof; a repetition key (19), which, when pressed, causes the robot (1) to trace back one or more previously executed motions, positioned in the right part of the second portion (11), towards the centre thereof; a key (26) for commanding the execution of individual steps of a previously set sequence of motions of the robot (1), positioned in the right part of the second portion (11), towards the centre thereof; a plurality of programming keys (20-23) positioned in the left part of the second portion (11) and comprising at least multiple cursor keys (20), a data recording key (21), a data modification key (22); a plurality of keys of an alphanumeric keypad (23) positioned in a central part of the second portion (11).
 26. System as claimed in claim 18, characterised in that in the first portion (10), laterally to the display device (D), are positioned one or more keys selected within the group consisting of: at least two keys (24, 25) for selecting or navigating among options of a menu able to be displayed on the display device (D), one of said keys being vertically offset relative to the other; a help key (28) for obtaining help information on the display device (D); a plurality of function keys (TF1, TF2, TF3).
 27. System as claimed in claim 18, characterised in that in correspondence with an end area of the first portion (11) are positioned a key selector (31) and a mushroom head safety push-button (32). 